﻿namespace FlitBit.Parse
{
	/// <summary>
	/// Metakind for tokens.
	/// </summary>
	public enum TokenMetaKind
	{
		/// <summary>
		/// Indicates the token is a symbol.
		/// </summary>
		Symbol,
		/// <summary>
		/// Indicates the token is a keyword.
		/// </summary>
		Keyword,
		/// <summary>
		/// Indicates the token is an operator.
		/// </summary>
		Operator,
		/// <summary>
		/// Indicates the token is an identifier.
		/// </summary>
		Identifier,
		/// <summary>
		/// Indicates the token is a literal.
		/// </summary>
		Literal,
		/// <summary>
		/// Indicates the token is a comment.
		/// </summary>
		Comment,
		/// <summary>
		/// Indicates the toekn is whitespace.
		/// </summary>
		Whitespace,
		/// <summary>
		/// Indicates the token signifies the end of input.
		/// </summary>
		Eof,
		/// <summary>
		/// Indicates the token represents a tokenizing error.
		/// </summary>
		Error
	}
}